//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(undefined == undefined);
write(undefined == null);
write(undefined == true);
write(undefined == false);
write(undefined == Boolean(true));
write(undefined == Boolean(false));
write(undefined == new Boolean(true));
write(undefined == new Boolean(false));
write(undefined == NaN);
write(undefined == +0);
write(undefined == -0);
write(undefined == 0);
write(undefined == 0.0);
write(undefined == -0.0);
write(undefined == +0.0);
write(undefined == 1);
write(undefined == 10);
write(undefined == 10.0);
write(undefined == 10.1);
write(undefined == -1);
write(undefined == -10);
write(undefined == -10.0);
write(undefined == -10.1);
write(undefined == Number.MAX_VALUE);
write(undefined == Number.MIN_VALUE);
write(undefined == Number.NaN);
write(undefined == Number.POSITIVE_INFINITY);
write(undefined == Number.NEGATIVE_INFINITY);
write(undefined == new Number(NaN));
write(undefined == new Number(+0));
write(undefined == new Number(-0));
write(undefined == new Number(0));
write(undefined == new Number(0.0));
write(undefined == new Number(-0.0));
write(undefined == new Number(+0.0));
write(undefined == new Number(1));
write(undefined == new Number(10));
write(undefined == new Number(10.0));
write(undefined == new Number(10.1));
write(undefined == new Number(-1));
write(undefined == new Number(-10));
write(undefined == new Number(-10.0));
write(undefined == new Number(-10.1));
write(undefined == new Number(Number.MAX_VALUE));
write(undefined == new Number(Number.MIN_VALUE));
write(undefined == new Number(Number.NaN));
write(undefined == new Number(Number.POSITIVE_INFINITY));
write(undefined == new Number(Number.NEGATIVE_INFINITY));
write(undefined == '');
write(undefined == 0xa);
write(undefined == 04);
write(undefined == 'hello');
write(undefined == 'hel' + 'lo');
write(undefined == String(''));
write(undefined == String('hello'));
write(undefined == String('h' + 'ello'));
write(undefined == new String(''));
write(undefined == new String('hello'));
write(undefined == new String('he' + 'llo'));
write(undefined == new Object());
write(undefined == new Object());
write(undefined == [1, 2, 3]);
write(undefined == [1 ,2 , 3]);
write(undefined == new Array(3));
write(undefined == Array(3));
write(undefined == new Array(1 ,2 ,3));
write(undefined == Array(1));
write(undefined == foo);
write(null == undefined);
write(null == null);
write(null == true);
write(null == false);
write(null == Boolean(true));
write(null == Boolean(false));
write(null == new Boolean(true));
write(null == new Boolean(false));
write(null == NaN);
write(null == +0);
write(null == -0);
write(null == 0);
write(null == 0.0);
write(null == -0.0);
write(null == +0.0);
write(null == 1);
write(null == 10);
write(null == 10.0);
write(null == 10.1);
write(null == -1);
write(null == -10);
write(null == -10.0);
write(null == -10.1);
write(null == Number.MAX_VALUE);
write(null == Number.MIN_VALUE);
write(null == Number.NaN);
write(null == Number.POSITIVE_INFINITY);
write(null == Number.NEGATIVE_INFINITY);
write(null == new Number(NaN));
write(null == new Number(+0));
write(null == new Number(-0));
write(null == new Number(0));
write(null == new Number(0.0));
write(null == new Number(-0.0));
write(null == new Number(+0.0));
write(null == new Number(1));
write(null == new Number(10));
write(null == new Number(10.0));
write(null == new Number(10.1));
write(null == new Number(-1));
write(null == new Number(-10));
write(null == new Number(-10.0));
write(null == new Number(-10.1));
write(null == new Number(Number.MAX_VALUE));
write(null == new Number(Number.MIN_VALUE));
write(null == new Number(Number.NaN));
write(null == new Number(Number.POSITIVE_INFINITY));
write(null == new Number(Number.NEGATIVE_INFINITY));
write(null == '');
write(null == 0xa);
write(null == 04);
write(null == 'hello');
write(null == 'hel' + 'lo');
write(null == String(''));
write(null == String('hello'));
write(null == String('h' + 'ello'));
write(null == new String(''));
write(null == new String('hello'));
write(null == new String('he' + 'llo'));
write(null == new Object());
write(null == new Object());
write(null == [1, 2, 3]);
write(null == [1 ,2 , 3]);
write(null == new Array(3));
write(null == Array(3));
write(null == new Array(1 ,2 ,3));
write(null == Array(1));
write(null == foo);
write(true == undefined);
write(true == null);
write(true == true);
write(true == false);
write(true == Boolean(true));
write(true == Boolean(false));
write(true == new Boolean(true));
write(true == new Boolean(false));
write(true == NaN);
write(true == +0);
write(true == -0);
write(true == 0);
write(true == 0.0);
write(true == -0.0);
write(true == +0.0);
write(true == 1);
write(true == 10);
write(true == 10.0);
write(true == 10.1);
write(true == -1);
write(true == -10);
write(true == -10.0);
write(true == -10.1);
write(true == Number.MAX_VALUE);
write(true == Number.MIN_VALUE);
write(true == Number.NaN);
write(true == Number.POSITIVE_INFINITY);
write(true == Number.NEGATIVE_INFINITY);
write(true == new Number(NaN));
write(true == new Number(+0));
write(true == new Number(-0));
write(true == new Number(0));
write(true == new Number(0.0));
write(true == new Number(-0.0));
write(true == new Number(+0.0));
write(true == new Number(1));
write(true == new Number(10));
write(true == new Number(10.0));
write(true == new Number(10.1));
write(true == new Number(-1));
write(true == new Number(-10));
write(true == new Number(-10.0));
write(true == new Number(-10.1));
write(true == new Number(Number.MAX_VALUE));
write(true == new Number(Number.MIN_VALUE));
write(true == new Number(Number.NaN));
write(true == new Number(Number.POSITIVE_INFINITY));
write(true == new Number(Number.NEGATIVE_INFINITY));
write(true == '');
write(true == 0xa);
write(true == 04);
write(true == 'hello');
write(true == 'hel' + 'lo');
write(true == String(''));
write(true == String('hello'));
write(true == String('h' + 'ello'));
write(true == new String(''));
write(true == new String('hello'));
write(true == new String('he' + 'llo'));
write(true == new Object());
write(true == new Object());
write(true == [1, 2, 3]);
write(true == [1 ,2 , 3]);
write(true == new Array(3));
write(true == Array(3));
write(true == new Array(1 ,2 ,3));
write(true == Array(1));
write(true == foo);
write(false == undefined);
write(false == null);
write(false == true);
write(false == false);
write(false == Boolean(true));
write(false == Boolean(false));
write(false == new Boolean(true));
write(false == new Boolean(false));
write(false == NaN);
write(false == +0);
write(false == -0);
write(false == 0);
write(false == 0.0);
write(false == -0.0);
write(false == +0.0);
write(false == 1);
write(false == 10);
write(false == 10.0);
write(false == 10.1);
write(false == -1);
write(false == -10);
write(false == -10.0);
write(false == -10.1);
write(false == Number.MAX_VALUE);
write(false == Number.MIN_VALUE);
write(false == Number.NaN);
write(false == Number.POSITIVE_INFINITY);
write(false == Number.NEGATIVE_INFINITY);
write(false == new Number(NaN));
write(false == new Number(+0));
write(false == new Number(-0));
write(false == new Number(0));
write(false == new Number(0.0));
write(false == new Number(-0.0));
write(false == new Number(+0.0));
write(false == new Number(1));
write(false == new Number(10));
write(false == new Number(10.0));
write(false == new Number(10.1));
write(false == new Number(-1));
write(false == new Number(-10));
write(false == new Number(-10.0));
write(false == new Number(-10.1));
write(false == new Number(Number.MAX_VALUE));
write(false == new Number(Number.MIN_VALUE));
write(false == new Number(Number.NaN));
write(false == new Number(Number.POSITIVE_INFINITY));
write(false == new Number(Number.NEGATIVE_INFINITY));
write(false == '');
write(false == 0xa);
write(false == 04);
write(false == 'hello');
write(false == 'hel' + 'lo');
write(false == String(''));
write(false == String('hello'));
write(false == String('h' + 'ello'));
write(false == new String(''));
write(false == new String('hello'));
write(false == new String('he' + 'llo'));
write(false == new Object());
write(false == new Object());
write(false == [1, 2, 3]);
write(false == [1 ,2 , 3]);
write(false == new Array(3));
write(false == Array(3));
write(false == new Array(1 ,2 ,3));
write(false == Array(1));
write(false == foo);
write(Boolean(true) == undefined);
write(Boolean(true) == null);
write(Boolean(true) == true);
write(Boolean(true) == false);
write(Boolean(true) == Boolean(true));
write(Boolean(true) == Boolean(false));
write(Boolean(true) == new Boolean(true));
write(Boolean(true) == new Boolean(false));
write(Boolean(true) == NaN);
write(Boolean(true) == +0);
write(Boolean(true) == -0);
write(Boolean(true) == 0);
write(Boolean(true) == 0.0);
write(Boolean(true) == -0.0);
write(Boolean(true) == +0.0);
write(Boolean(true) == 1);
write(Boolean(true) == 10);
write(Boolean(true) == 10.0);
write(Boolean(true) == 10.1);
write(Boolean(true) == -1);
write(Boolean(true) == -10);
write(Boolean(true) == -10.0);
write(Boolean(true) == -10.1);
write(Boolean(true) == Number.MAX_VALUE);
write(Boolean(true) == Number.MIN_VALUE);
write(Boolean(true) == Number.NaN);
write(Boolean(true) == Number.POSITIVE_INFINITY);
write(Boolean(true) == Number.NEGATIVE_INFINITY);
write(Boolean(true) == new Number(NaN));
write(Boolean(true) == new Number(+0));
write(Boolean(true) == new Number(-0));
write(Boolean(true) == new Number(0));
write(Boolean(true) == new Number(0.0));
write(Boolean(true) == new Number(-0.0));
write(Boolean(true) == new Number(+0.0));
write(Boolean(true) == new Number(1));
write(Boolean(true) == new Number(10));
write(Boolean(true) == new Number(10.0));
write(Boolean(true) == new Number(10.1));
write(Boolean(true) == new Number(-1));
write(Boolean(true) == new Number(-10));
write(Boolean(true) == new Number(-10.0));
write(Boolean(true) == new Number(-10.1));
write(Boolean(true) == new Number(Number.MAX_VALUE));
write(Boolean(true) == new Number(Number.MIN_VALUE));
write(Boolean(true) == new Number(Number.NaN));
write(Boolean(true) == new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) == new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) == '');
write(Boolean(true) == 0xa);
write(Boolean(true) == 04);
write(Boolean(true) == 'hello');
write(Boolean(true) == 'hel' + 'lo');
write(Boolean(true) == String(''));
write(Boolean(true) == String('hello'));
write(Boolean(true) == String('h' + 'ello'));
write(Boolean(true) == new String(''));
write(Boolean(true) == new String('hello'));
write(Boolean(true) == new String('he' + 'llo'));
write(Boolean(true) == new Object());
write(Boolean(true) == new Object());
write(Boolean(true) == [1, 2, 3]);
write(Boolean(true) == [1 ,2 , 3]);
write(Boolean(true) == new Array(3));
write(Boolean(true) == Array(3));
write(Boolean(true) == new Array(1 ,2 ,3));
write(Boolean(true) == Array(1));
write(Boolean(true) == foo);
write(Boolean(false) == undefined);
write(Boolean(false) == null);
write(Boolean(false) == true);
write(Boolean(false) == false);
write(Boolean(false) == Boolean(true));
write(Boolean(false) == Boolean(false));
write(Boolean(false) == new Boolean(true));
write(Boolean(false) == new Boolean(false));
write(Boolean(false) == NaN);
write(Boolean(false) == +0);
write(Boolean(false) == -0);
write(Boolean(false) == 0);
write(Boolean(false) == 0.0);
write(Boolean(false) == -0.0);
write(Boolean(false) == +0.0);
write(Boolean(false) == 1);
write(Boolean(false) == 10);
write(Boolean(false) == 10.0);
write(Boolean(false) == 10.1);
write(Boolean(false) == -1);
write(Boolean(false) == -10);
write(Boolean(false) == -10.0);
write(Boolean(false) == -10.1);
write(Boolean(false) == Number.MAX_VALUE);
write(Boolean(false) == Number.MIN_VALUE);
write(Boolean(false) == Number.NaN);
write(Boolean(false) == Number.POSITIVE_INFINITY);
write(Boolean(false) == Number.NEGATIVE_INFINITY);
write(Boolean(false) == new Number(NaN));
write(Boolean(false) == new Number(+0));
write(Boolean(false) == new Number(-0));
write(Boolean(false) == new Number(0));
write(Boolean(false) == new Number(0.0));
write(Boolean(false) == new Number(-0.0));
write(Boolean(false) == new Number(+0.0));
write(Boolean(false) == new Number(1));
write(Boolean(false) == new Number(10));
write(Boolean(false) == new Number(10.0));
write(Boolean(false) == new Number(10.1));
write(Boolean(false) == new Number(-1));
write(Boolean(false) == new Number(-10));
write(Boolean(false) == new Number(-10.0));
write(Boolean(false) == new Number(-10.1));
write(Boolean(false) == new Number(Number.MAX_VALUE));
write(Boolean(false) == new Number(Number.MIN_VALUE));
write(Boolean(false) == new Number(Number.NaN));
write(Boolean(false) == new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) == new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) == '');
write(Boolean(false) == 0xa);
write(Boolean(false) == 04);
write(Boolean(false) == 'hello');
write(Boolean(false) == 'hel' + 'lo');
write(Boolean(false) == String(''));
write(Boolean(false) == String('hello'));
write(Boolean(false) == String('h' + 'ello'));
write(Boolean(false) == new String(''));
write(Boolean(false) == new String('hello'));
write(Boolean(false) == new String('he' + 'llo'));
write(Boolean(false) == new Object());
write(Boolean(false) == new Object());
write(Boolean(false) == [1, 2, 3]);
write(Boolean(false) == [1 ,2 , 3]);
write(Boolean(false) == new Array(3));
write(Boolean(false) == Array(3));
write(Boolean(false) == new Array(1 ,2 ,3));
write(Boolean(false) == Array(1));
write(Boolean(false) == foo);
write(new Boolean(true) == undefined);
write(new Boolean(true) == null);
write(new Boolean(true) == true);
write(new Boolean(true) == false);
write(new Boolean(true) == Boolean(true));
write(new Boolean(true) == Boolean(false));
write(new Boolean(true) == new Boolean(true));
write(new Boolean(true) == new Boolean(false));
write(new Boolean(true) == NaN);
write(new Boolean(true) == +0);
write(new Boolean(true) == -0);
write(new Boolean(true) == 0);
write(new Boolean(true) == 0.0);
write(new Boolean(true) == -0.0);
write(new Boolean(true) == +0.0);
write(new Boolean(true) == 1);
write(new Boolean(true) == 10);
write(new Boolean(true) == 10.0);
write(new Boolean(true) == 10.1);
write(new Boolean(true) == -1);
write(new Boolean(true) == -10);
write(new Boolean(true) == -10.0);
write(new Boolean(true) == -10.1);
write(new Boolean(true) == Number.MAX_VALUE);
write(new Boolean(true) == Number.MIN_VALUE);
write(new Boolean(true) == Number.NaN);
write(new Boolean(true) == Number.POSITIVE_INFINITY);
write(new Boolean(true) == Number.NEGATIVE_INFINITY);
write(new Boolean(true) == new Number(NaN));
write(new Boolean(true) == new Number(+0));
write(new Boolean(true) == new Number(-0));
write(new Boolean(true) == new Number(0));
write(new Boolean(true) == new Number(0.0));
write(new Boolean(true) == new Number(-0.0));
write(new Boolean(true) == new Number(+0.0));
write(new Boolean(true) == new Number(1));
write(new Boolean(true) == new Number(10));
write(new Boolean(true) == new Number(10.0));
write(new Boolean(true) == new Number(10.1));
write(new Boolean(true) == new Number(-1));
write(new Boolean(true) == new Number(-10));
write(new Boolean(true) == new Number(-10.0));
write(new Boolean(true) == new Number(-10.1));
write(new Boolean(true) == new Number(Number.MAX_VALUE));
write(new Boolean(true) == new Number(Number.MIN_VALUE));
write(new Boolean(true) == new Number(Number.NaN));
write(new Boolean(true) == new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) == new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) == '');
write(new Boolean(true) == 0xa);
write(new Boolean(true) == 04);
write(new Boolean(true) == 'hello');
write(new Boolean(true) == 'hel' + 'lo');
write(new Boolean(true) == String(''));
write(new Boolean(true) == String('hello'));
write(new Boolean(true) == String('h' + 'ello'));
write(new Boolean(true) == new String(''));
write(new Boolean(true) == new String('hello'));
write(new Boolean(true) == new String('he' + 'llo'));
write(new Boolean(true) == new Object());
write(new Boolean(true) == new Object());
write(new Boolean(true) == [1, 2, 3]);
write(new Boolean(true) == [1 ,2 , 3]);
write(new Boolean(true) == new Array(3));
write(new Boolean(true) == Array(3));
write(new Boolean(true) == new Array(1 ,2 ,3));
write(new Boolean(true) == Array(1));
write(new Boolean(true) == foo);
write(new Boolean(false) == undefined);
write(new Boolean(false) == null);
write(new Boolean(false) == true);
write(new Boolean(false) == false);
write(new Boolean(false) == Boolean(true));
write(new Boolean(false) == Boolean(false));
write(new Boolean(false) == new Boolean(true));
write(new Boolean(false) == new Boolean(false));
write(new Boolean(false) == NaN);
write(new Boolean(false) == +0);
write(new Boolean(false) == -0);
write(new Boolean(false) == 0);
write(new Boolean(false) == 0.0);
write(new Boolean(false) == -0.0);
write(new Boolean(false) == +0.0);
write(new Boolean(false) == 1);
write(new Boolean(false) == 10);
write(new Boolean(false) == 10.0);
write(new Boolean(false) == 10.1);
write(new Boolean(false) == -1);
write(new Boolean(false) == -10);
write(new Boolean(false) == -10.0);
write(new Boolean(false) == -10.1);
write(new Boolean(false) == Number.MAX_VALUE);
write(new Boolean(false) == Number.MIN_VALUE);
write(new Boolean(false) == Number.NaN);
write(new Boolean(false) == Number.POSITIVE_INFINITY);
write(new Boolean(false) == Number.NEGATIVE_INFINITY);
write(new Boolean(false) == new Number(NaN));
write(new Boolean(false) == new Number(+0));
write(new Boolean(false) == new Number(-0));
write(new Boolean(false) == new Number(0));
write(new Boolean(false) == new Number(0.0));
write(new Boolean(false) == new Number(-0.0));
write(new Boolean(false) == new Number(+0.0));
write(new Boolean(false) == new Number(1));
write(new Boolean(false) == new Number(10));
write(new Boolean(false) == new Number(10.0));
write(new Boolean(false) == new Number(10.1));
write(new Boolean(false) == new Number(-1));
write(new Boolean(false) == new Number(-10));
write(new Boolean(false) == new Number(-10.0));
write(new Boolean(false) == new Number(-10.1));
write(new Boolean(false) == new Number(Number.MAX_VALUE));
write(new Boolean(false) == new Number(Number.MIN_VALUE));
write(new Boolean(false) == new Number(Number.NaN));
write(new Boolean(false) == new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) == new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) == '');
write(new Boolean(false) == 0xa);
write(new Boolean(false) == 04);
write(new Boolean(false) == 'hello');
write(new Boolean(false) == 'hel' + 'lo');
write(new Boolean(false) == String(''));
write(new Boolean(false) == String('hello'));
write(new Boolean(false) == String('h' + 'ello'));
write(new Boolean(false) == new String(''));
write(new Boolean(false) == new String('hello'));
write(new Boolean(false) == new String('he' + 'llo'));
write(new Boolean(false) == new Object());
write(new Boolean(false) == new Object());
write(new Boolean(false) == [1, 2, 3]);
write(new Boolean(false) == [1 ,2 , 3]);
write(new Boolean(false) == new Array(3));
write(new Boolean(false) == Array(3));
write(new Boolean(false) == new Array(1 ,2 ,3));
write(new Boolean(false) == Array(1));
write(new Boolean(false) == foo);
write(NaN == undefined);
write(NaN == null);
write(NaN == true);
write(NaN == false);
write(NaN == Boolean(true));
write(NaN == Boolean(false));
write(NaN == new Boolean(true));
write(NaN == new Boolean(false));
write(NaN == NaN);
write(NaN == +0);
write(NaN == -0);
write(NaN == 0);
write(NaN == 0.0);
write(NaN == -0.0);
write(NaN == +0.0);
write(NaN == 1);
write(NaN == 10);
write(NaN == 10.0);
write(NaN == 10.1);
write(NaN == -1);
write(NaN == -10);
write(NaN == -10.0);
write(NaN == -10.1);
write(NaN == Number.MAX_VALUE);
write(NaN == Number.MIN_VALUE);
write(NaN == Number.NaN);
write(NaN == Number.POSITIVE_INFINITY);
write(NaN == Number.NEGATIVE_INFINITY);
write(NaN == new Number(NaN));
write(NaN == new Number(+0));
write(NaN == new Number(-0));
write(NaN == new Number(0));
write(NaN == new Number(0.0));
write(NaN == new Number(-0.0));
write(NaN == new Number(+0.0));
write(NaN == new Number(1));
write(NaN == new Number(10));
write(NaN == new Number(10.0));
write(NaN == new Number(10.1));
write(NaN == new Number(-1));
write(NaN == new Number(-10));
write(NaN == new Number(-10.0));
write(NaN == new Number(-10.1));
write(NaN == new Number(Number.MAX_VALUE));
write(NaN == new Number(Number.MIN_VALUE));
write(NaN == new Number(Number.NaN));
write(NaN == new Number(Number.POSITIVE_INFINITY));
write(NaN == new Number(Number.NEGATIVE_INFINITY));
write(NaN == '');
write(NaN == 0xa);
write(NaN == 04);
write(NaN == 'hello');
write(NaN == 'hel' + 'lo');
write(NaN == String(''));
write(NaN == String('hello'));
write(NaN == String('h' + 'ello'));
write(NaN == new String(''));
write(NaN == new String('hello'));
write(NaN == new String('he' + 'llo'));
write(NaN == new Object());
write(NaN == new Object());
write(NaN == [1, 2, 3]);
write(NaN == [1 ,2 , 3]);
write(NaN == new Array(3));
write(NaN == Array(3));
write(NaN == new Array(1 ,2 ,3));
write(NaN == Array(1));
write(NaN == foo);
write(+0 == undefined);
write(+0 == null);
write(+0 == true);
write(+0 == false);
write(+0 == Boolean(true));
write(+0 == Boolean(false));
write(+0 == new Boolean(true));
write(+0 == new Boolean(false));
write(+0 == NaN);
write(+0 == +0);
write(+0 == -0);
write(+0 == 0);
write(+0 == 0.0);
write(+0 == -0.0);
write(+0 == +0.0);
write(+0 == 1);
write(+0 == 10);
write(+0 == 10.0);
write(+0 == 10.1);
write(+0 == -1);
write(+0 == -10);
write(+0 == -10.0);
write(+0 == -10.1);
write(+0 == Number.MAX_VALUE);
write(+0 == Number.MIN_VALUE);
write(+0 == Number.NaN);
write(+0 == Number.POSITIVE_INFINITY);
write(+0 == Number.NEGATIVE_INFINITY);
write(+0 == new Number(NaN));
write(+0 == new Number(+0));
write(+0 == new Number(-0));
write(+0 == new Number(0));
write(+0 == new Number(0.0));
write(+0 == new Number(-0.0));
write(+0 == new Number(+0.0));
write(+0 == new Number(1));
write(+0 == new Number(10));
write(+0 == new Number(10.0));
write(+0 == new Number(10.1));
write(+0 == new Number(-1));
write(+0 == new Number(-10));
write(+0 == new Number(-10.0));
write(+0 == new Number(-10.1));
write(+0 == new Number(Number.MAX_VALUE));
write(+0 == new Number(Number.MIN_VALUE));
write(+0 == new Number(Number.NaN));
write(+0 == new Number(Number.POSITIVE_INFINITY));
write(+0 == new Number(Number.NEGATIVE_INFINITY));
write(+0 == '');
write(+0 == 0xa);
write(+0 == 04);
write(+0 == 'hello');
write(+0 == 'hel' + 'lo');
write(+0 == String(''));
write(+0 == String('hello'));
write(+0 == String('h' + 'ello'));
write(+0 == new String(''));
write(+0 == new String('hello'));
write(+0 == new String('he' + 'llo'));
write(+0 == new Object());
write(+0 == new Object());
write(+0 == [1, 2, 3]);
write(+0 == [1 ,2 , 3]);
write(+0 == new Array(3));
write(+0 == Array(3));
write(+0 == new Array(1 ,2 ,3));
write(+0 == Array(1));
write(+0 == foo);
write(-0 == undefined);
write(-0 == null);
write(-0 == true);
write(-0 == false);
write(-0 == Boolean(true));
write(-0 == Boolean(false));
write(-0 == new Boolean(true));
write(-0 == new Boolean(false));
write(-0 == NaN);
write(-0 == +0);
write(-0 == -0);
write(-0 == 0);
write(-0 == 0.0);
write(-0 == -0.0);
write(-0 == +0.0);
write(-0 == 1);
write(-0 == 10);
write(-0 == 10.0);
write(-0 == 10.1);
write(-0 == -1);
write(-0 == -10);
write(-0 == -10.0);
write(-0 == -10.1);
write(-0 == Number.MAX_VALUE);
write(-0 == Number.MIN_VALUE);
write(-0 == Number.NaN);
write(-0 == Number.POSITIVE_INFINITY);
write(-0 == Number.NEGATIVE_INFINITY);
write(-0 == new Number(NaN));
write(-0 == new Number(+0));
write(-0 == new Number(-0));
write(-0 == new Number(0));
write(-0 == new Number(0.0));
write(-0 == new Number(-0.0));
write(-0 == new Number(+0.0));
write(-0 == new Number(1));
write(-0 == new Number(10));
write(-0 == new Number(10.0));
write(-0 == new Number(10.1));
write(-0 == new Number(-1));
write(-0 == new Number(-10));
write(-0 == new Number(-10.0));
write(-0 == new Number(-10.1));
write(-0 == new Number(Number.MAX_VALUE));
write(-0 == new Number(Number.MIN_VALUE));
write(-0 == new Number(Number.NaN));
write(-0 == new Number(Number.POSITIVE_INFINITY));
write(-0 == new Number(Number.NEGATIVE_INFINITY));
write(-0 == '');
write(-0 == 0xa);
write(-0 == 04);
write(-0 == 'hello');
write(-0 == 'hel' + 'lo');
write(-0 == String(''));
write(-0 == String('hello'));
write(-0 == String('h' + 'ello'));
write(-0 == new String(''));
write(-0 == new String('hello'));
write(-0 == new String('he' + 'llo'));
write(-0 == new Object());
write(-0 == new Object());
write(-0 == [1, 2, 3]);
write(-0 == [1 ,2 , 3]);
write(-0 == new Array(3));
write(-0 == Array(3));
write(-0 == new Array(1 ,2 ,3));
write(-0 == Array(1));
write(-0 == foo);
write(0 == undefined);
write(0 == null);
write(0 == true);
write(0 == false);
write(0 == Boolean(true));
write(0 == Boolean(false));
write(0 == new Boolean(true));
write(0 == new Boolean(false));
write(0 == NaN);
write(0 == +0);
write(0 == -0);
write(0 == 0);
write(0 == 0.0);
write(0 == -0.0);
write(0 == +0.0);
write(0 == 1);
write(0 == 10);
write(0 == 10.0);
write(0 == 10.1);
write(0 == -1);
write(0 == -10);
write(0 == -10.0);
write(0 == -10.1);
write(0 == Number.MAX_VALUE);
write(0 == Number.MIN_VALUE);
write(0 == Number.NaN);
write(0 == Number.POSITIVE_INFINITY);
write(0 == Number.NEGATIVE_INFINITY);
write(0 == new Number(NaN));
write(0 == new Number(+0));
write(0 == new Number(-0));
write(0 == new Number(0));
write(0 == new Number(0.0));
write(0 == new Number(-0.0));
write(0 == new Number(+0.0));
write(0 == new Number(1));
write(0 == new Number(10));
write(0 == new Number(10.0));
write(0 == new Number(10.1));
write(0 == new Number(-1));
write(0 == new Number(-10));
write(0 == new Number(-10.0));
write(0 == new Number(-10.1));
write(0 == new Number(Number.MAX_VALUE));
write(0 == new Number(Number.MIN_VALUE));
write(0 == new Number(Number.NaN));
write(0 == new Number(Number.POSITIVE_INFINITY));
write(0 == new Number(Number.NEGATIVE_INFINITY));
write(0 == '');
write(0 == 0xa);
write(0 == 04);
write(0 == 'hello');
write(0 == 'hel' + 'lo');
write(0 == String(''));
write(0 == String('hello'));
write(0 == String('h' + 'ello'));
write(0 == new String(''));
write(0 == new String('hello'));
write(0 == new String('he' + 'llo'));
write(0 == new Object());
write(0 == new Object());
write(0 == [1, 2, 3]);
write(0 == [1 ,2 , 3]);
write(0 == new Array(3));
write(0 == Array(3));
write(0 == new Array(1 ,2 ,3));
write(0 == Array(1));
write(0 == foo);
write(0.0 == undefined);
write(0.0 == null);
write(0.0 == true);
write(0.0 == false);
write(0.0 == Boolean(true));
write(0.0 == Boolean(false));
write(0.0 == new Boolean(true));
write(0.0 == new Boolean(false));
write(0.0 == NaN);
write(0.0 == +0);
write(0.0 == -0);
write(0.0 == 0);
write(0.0 == 0.0);
write(0.0 == -0.0);
write(0.0 == +0.0);
write(0.0 == 1);
write(0.0 == 10);
write(0.0 == 10.0);
write(0.0 == 10.1);
write(0.0 == -1);
write(0.0 == -10);
write(0.0 == -10.0);
write(0.0 == -10.1);
write(0.0 == Number.MAX_VALUE);
write(0.0 == Number.MIN_VALUE);
write(0.0 == Number.NaN);
write(0.0 == Number.POSITIVE_INFINITY);
write(0.0 == Number.NEGATIVE_INFINITY);
write(0.0 == new Number(NaN));
write(0.0 == new Number(+0));
write(0.0 == new Number(-0));
write(0.0 == new Number(0));
write(0.0 == new Number(0.0));
write(0.0 == new Number(-0.0));
write(0.0 == new Number(+0.0));
write(0.0 == new Number(1));
write(0.0 == new Number(10));
write(0.0 == new Number(10.0));
write(0.0 == new Number(10.1));
write(0.0 == new Number(-1));
write(0.0 == new Number(-10));
write(0.0 == new Number(-10.0));
write(0.0 == new Number(-10.1));
write(0.0 == new Number(Number.MAX_VALUE));
write(0.0 == new Number(Number.MIN_VALUE));
write(0.0 == new Number(Number.NaN));
write(0.0 == new Number(Number.POSITIVE_INFINITY));
write(0.0 == new Number(Number.NEGATIVE_INFINITY));
write(0.0 == '');
write(0.0 == 0xa);
write(0.0 == 04);
write(0.0 == 'hello');
write(0.0 == 'hel' + 'lo');
write(0.0 == String(''));
write(0.0 == String('hello'));
write(0.0 == String('h' + 'ello'));
write(0.0 == new String(''));
write(0.0 == new String('hello'));
write(0.0 == new String('he' + 'llo'));
write(0.0 == new Object());
write(0.0 == new Object());
write(0.0 == [1, 2, 3]);
write(0.0 == [1 ,2 , 3]);
write(0.0 == new Array(3));
write(0.0 == Array(3));
write(0.0 == new Array(1 ,2 ,3));
write(0.0 == Array(1));
write(0.0 == foo);
write(-0.0 == undefined);
write(-0.0 == null);
write(-0.0 == true);
write(-0.0 == false);
write(-0.0 == Boolean(true));
write(-0.0 == Boolean(false));
write(-0.0 == new Boolean(true));
write(-0.0 == new Boolean(false));
write(-0.0 == NaN);
write(-0.0 == +0);
write(-0.0 == -0);
write(-0.0 == 0);
write(-0.0 == 0.0);
write(-0.0 == -0.0);
write(-0.0 == +0.0);
write(-0.0 == 1);
write(-0.0 == 10);
write(-0.0 == 10.0);
write(-0.0 == 10.1);
write(-0.0 == -1);
write(-0.0 == -10);
write(-0.0 == -10.0);
write(-0.0 == -10.1);
write(-0.0 == Number.MAX_VALUE);
write(-0.0 == Number.MIN_VALUE);
write(-0.0 == Number.NaN);
write(-0.0 == Number.POSITIVE_INFINITY);
write(-0.0 == Number.NEGATIVE_INFINITY);
write(-0.0 == new Number(NaN));
write(-0.0 == new Number(+0));
write(-0.0 == new Number(-0));
write(-0.0 == new Number(0));
write(-0.0 == new Number(0.0));
write(-0.0 == new Number(-0.0));
write(-0.0 == new Number(+0.0));
write(-0.0 == new Number(1));
write(-0.0 == new Number(10));
write(-0.0 == new Number(10.0));
write(-0.0 == new Number(10.1));
write(-0.0 == new Number(-1));
write(-0.0 == new Number(-10));
write(-0.0 == new Number(-10.0));
write(-0.0 == new Number(-10.1));
write(-0.0 == new Number(Number.MAX_VALUE));
write(-0.0 == new Number(Number.MIN_VALUE));
write(-0.0 == new Number(Number.NaN));
write(-0.0 == new Number(Number.POSITIVE_INFINITY));
write(-0.0 == new Number(Number.NEGATIVE_INFINITY));
write(-0.0 == '');
write(-0.0 == 0xa);
write(-0.0 == 04);
write(-0.0 == 'hello');
write(-0.0 == 'hel' + 'lo');
write(-0.0 == String(''));
write(-0.0 == String('hello'));
write(-0.0 == String('h' + 'ello'));
write(-0.0 == new String(''));
write(-0.0 == new String('hello'));
write(-0.0 == new String('he' + 'llo'));
write(-0.0 == new Object());
write(-0.0 == new Object());
write(-0.0 == [1, 2, 3]);
write(-0.0 == [1 ,2 , 3]);
write(-0.0 == new Array(3));
write(-0.0 == Array(3));
write(-0.0 == new Array(1 ,2 ,3));
write(-0.0 == Array(1));
write(-0.0 == foo);
write(+0.0 == undefined);
write(+0.0 == null);
write(+0.0 == true);
write(+0.0 == false);
write(+0.0 == Boolean(true));
write(+0.0 == Boolean(false));
write(+0.0 == new Boolean(true));
write(+0.0 == new Boolean(false));
write(+0.0 == NaN);
write(+0.0 == +0);
write(+0.0 == -0);
write(+0.0 == 0);
write(+0.0 == 0.0);
write(+0.0 == -0.0);
write(+0.0 == +0.0);
write(+0.0 == 1);
write(+0.0 == 10);
write(+0.0 == 10.0);
write(+0.0 == 10.1);
write(+0.0 == -1);
write(+0.0 == -10);
write(+0.0 == -10.0);
write(+0.0 == -10.1);
write(+0.0 == Number.MAX_VALUE);
write(+0.0 == Number.MIN_VALUE);
write(+0.0 == Number.NaN);
write(+0.0 == Number.POSITIVE_INFINITY);
write(+0.0 == Number.NEGATIVE_INFINITY);
write(+0.0 == new Number(NaN));
write(+0.0 == new Number(+0));
write(+0.0 == new Number(-0));
write(+0.0 == new Number(0));
write(+0.0 == new Number(0.0));
write(+0.0 == new Number(-0.0));
write(+0.0 == new Number(+0.0));
write(+0.0 == new Number(1));
write(+0.0 == new Number(10));
write(+0.0 == new Number(10.0));
write(+0.0 == new Number(10.1));
write(+0.0 == new Number(-1));
write(+0.0 == new Number(-10));
write(+0.0 == new Number(-10.0));
write(+0.0 == new Number(-10.1));
write(+0.0 == new Number(Number.MAX_VALUE));
write(+0.0 == new Number(Number.MIN_VALUE));
write(+0.0 == new Number(Number.NaN));
write(+0.0 == new Number(Number.POSITIVE_INFINITY));
write(+0.0 == new Number(Number.NEGATIVE_INFINITY));
